/**
 * 测试promise异步编程
 */

let pro = new Promise((okFunc, errFunc) => {
    // 其他逻辑
    okFunc(100);
    // or errFunc(200);
});

pro.then((successText) => {
    console.log(successText); // 100
}, (failedText) => {
    console.log(failedText);
});

/**
 * Promise.prototype.catch()方法是.then(null, rejection)或.then(undefined, rejection)的别名，用于指定发生错误时的回调函数。
 */

// Promise是无论如何都会马上执行的，只是结果callback
// 下方代码的输出顺序是
// step1
// step2
// 105
 pro = new Promise((okFunc, errFunc) => {
     console.log("step 1");
    // 该逻辑会被略过，最后打印（在200之后）
    okFunc(105);
    // or errFunc(200);
    console.log("step 2");
});

pro.then((successText) => {
    console.log(successText); // 105
}, (failedText) => {
    console.log(failedText);
});

